【PHP/演習問題】関数と引数[2]
問題
BMIと肥満度を出力するプログラムを作成してください。
なお、下記条件を満たすものとします。
- BMIの計算式は『体重(kg)÷ (身長(m))2』とする
- BMIの計算は関数にする
- 体重と身長は標準入力で与える
- 肥満度は次の表の通りとする
BMI | 肥満度 |
---|---|
18.5未満 | 低体重 |
18.5以上、25.0未満 | 標準体重 |
25.0以上、30.0未満 | 肥満(レベル1) |
30.0以上、35.0未満 | 肥満(レベル2) |
35.0以上、40.0未満 | 肥満(レベル3) |
40.0以上 | 肥満(レベル4) |
$ php practice.php
体重(kg) > 50
身長(cm) > 155
BMI = 20.811654526535
肥満度:標準体重
$ php practice.php
体重(kg) > 47
身長(cm) > 168
BMI = 16.652494331066
肥満度:低体重
解答例
<?php
function calc_bmi( $weight, $height ) {
$bmi = $weight / ( ($height / 100 ) ** 2 );
echo 'BMI = '.$bmi."\n";
if( $bmi < 18.5 ) {
echo "肥満度:低体重\n";
} else if( 18.5 <= $bmi && $bmi < 25.0 ) {
echo "肥満度:標準体重\n";
} else if( 25.0 <= $bmi && $bmi < 30.0 ) {
echo "肥満度:肥満(レベル1)\n";
} else if( 30.0 <= $bmi && $bmi < 35.0 ) {
echo "肥満度:肥満(レベル2)\n";
} else if( 35.0 <= $bmi && $bmi < 40.0 ) {
echo "肥満度:肥満(レベル3)\n";
} else if( 40.0 <= $bmi ) {
echo "肥満度:肥満(レベル4)\n";
}
}
echo '体重(kg) > ';
$weight = trim(fgets(STDIN));
echo '身長(cm) > ';
$height = trim(fgets(STDIN));
calc_bmi($weight, $height);
?>